package com.paziy.card_games.decks;

import com.paziy.card_games.cards.*;

import java.util.*;


/**
 * Created with IntelliJ IDEA.
 * User: paziy
 * Date: 06.02.13
 * Time: 19:50
 * To change this template use File | Settings | File Templates.
 */
public interface Deck extends Iterable<Card> {

    int size();

    boolean isEmpty();

    Iterator<Card> iterator();

    boolean addAll(Collection<? extends Card> c);

    boolean removeAll(Collection<?> c);

    void clear();

    void add(Card card);

    Card remove();

    Card element();

    boolean offer(Card card);

    Card poll();

    Card peek();

    void shuffle();

    String toString();

}
